package com.honour.service.interfaced;

import java.util.List;

import com.system.util.PageData;

/**
 * 购物车接口
 * @Function 
 * @Author zhaozhenhua
 * @Date 2018年1月24日
 */
public interface CartInManager {
	
	/**添加商品到购物车
	 * @param pd
	 * @throws Exception
	 */
	public void save(PageData pd)throws Exception;
	
	/**立即购买添加购物车
	 * @param pd
	 * @throws Exception
	 */
	public void buyNowSave(PageData pd)throws Exception;
	
	/**删除购物车
	 * @param pd
	 * @throws Exception
	 */
	public void delete(PageData pd)throws Exception;
	
	/**修改购物车
	 * @param pd
	 * @throws Exception
	 */
	public void update(PageData pd)throws Exception;
	
	/**根据用户id查询购物车列表
	 * @param pd
	 * @throws Exception
	 */
	//public List<PageData> selectCartByUserId(PageData pd)throws Exception;
	
	/**根据用户id从购物车移除商品-
	 * @param pd
	 * @throws Exception
	 */
	public void deleteProductIds(PageData pd)throws Exception;
	
	/**根据购物车id修改购物车已选或未选
	 * @param pd
	 * @throws Exception
	 */
	public void updProChecked(PageData pd)throws Exception;
	
	/**根据用户id查询已选购物车商品总数
	 * @param pd
	 * @throws Exception
	 */
	public Integer selectCartProAllCount(PageData pd)throws Exception;
	
	/**根据用户id和商品id查询是否已存在该商品的购物车 
	 * @param pd
	 * @throws Exception
	 */
	public PageData selectCartByDoubleId(PageData pd)throws Exception;
	
	/**
	 * 根据用户id和选择状态查询商品
	 * @Author zhanglingbing
	 * @date 2018年1月30日
	 * @param pd
	 * @throws Exception
	 *
	 */
	public List<PageData> selectProductByUserIdAndChecked(PageData pd)throws Exception;
	
	/**
	 * 获取购物车列表
	 * @Author zhanglingbing
	 * @date 2018年1月30日
	 * @param pd
	 * @return
	 * @throws Exception
	 *
	 */
	public List<PageData> selectCartListInfo(PageData pd)throws Exception;
	
	
	/**
	 * 动态查询商品的规格id,价格以及库存
	 * @Author zhanglingbing
	 * @date 2018年1月31日
	 * @param pd
	 * @return
	 * @throws Exception
	 *
	 */
	public PageData selectStandardIdAndPrice(PageData pd)throws Exception;
	
	/**
	 * 通过订单id查询订单中的商品信息
	 * @author zhanglingbing
	 * @date 2018年2月1日
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public List<PageData> selectCartListInfoByOrderId(PageData pd)throws Exception;
	
	/**
	 * 根据规格id修改商品库存
	 * @author zhanglingbing
	 * @date 2018年2月2日
	 * @param pd
	 * @throws Exception
	 */
	public void updStockByStandardId(PageData pd)throws Exception;
	
	/**
	 * 通过购物车id查询车商品数量,以及相对应的库存,规格id
	 * @author zhanglingbing
	 * @date 2018年2月2日
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public PageData selectProNumAndStoByCardId(PageData pd)throws Exception;
	
	/**
	 * 通过商家id以及购物车id查询对应单个商品信息
	 * @author zhanglingbing
	 * @date 2018年2月3日
	 * @param pd(商家id,cartid)
	 * @return
	 * @throws Exception
	 */
	public PageData selectOneProInfoByCardId(PageData pd)throws Exception;

	/**
	 * 购物车数量
	 * @author zhanglingbing
	 * @date 2018年2月26日
	 * @param pd
	 * @return
	 * @throws Exception
	 */
	public PageData selectCartNum(PageData pd)throws Exception;

}
